﻿using Sustainalytics.Entities;
using Sustainalytics.ESGRatings.Computing.Entities;
using Sustainalytics.ESGRatings.Computing.Entities.ESG;
using System;

namespace Sustainalytics.ESGRatings.BusinessLogic
{
    public class TemporaryDataSet : IEntity
    {
        public TemporaryDataSet(Guid id, DateTime date)
        {
            this.Id = id;
            this.CreationDate = date;
        }

        public CompanyData[] Companies { get; set; }

        public CompanyScores[] CompaniesRawScores { get; set; }

        public DateTime CreationDate { get; private set; }

        public Guid Id { get; set; }

        public IndicatorTemplate[] IndicatorTemplates { get; set; }

        public WeightMatrix[] Matrices { get; set; }

        public ReferenceUniverse[] ReferenceUniverses { get; set; }

        public string SetName => "set_" + this.CreationDate.ToShortDateString();

        public Guid? DefaultWeightMatrix { get; set; }
    }
}